#ifndef FACTS_H
#define	FACTS_H

#include <iostream>
#include <list>
#include "../Parameter/Parameter.h"
#include "../ListParam/ListParam.h"
using namespace std;

class Facts {
protected :
    list<Parameter*> fakta;
	list<string> ListParams;
	list<string> ListRule;
    string name;
    int totalParameter;
    list<Parameter*>::iterator it;
	ListParam lists;
	bool IsRule;

public :
    Facts();
    Facts(const Facts &);
    Facts& operator= (const Facts&);
    ~Facts();

    void setBeginIter();
	void setIsRule(bool);
	bool IsRULE();
	
    string getName ();
    void setName (string name);

    int getTotalParameter ();
    void setTotalParameter (int total);
	void addTotalParam ();
	
	bool isRule();
	void setRule(bool id);

    list<Parameter*> * getListParam ();
	Parameter * getParam ();

    void addParameter(string);
    void addList(ListParam*);

};
#endif	/* FACTS_H */